package com.nb.demo04;

import com.nb.demo02.UserService;
import com.nb.demo02.UserServiceImpl;

public class Client {
    public static void main(String[] args) {
        //真实角色
        UserServiceImpl userService = new UserServiceImpl();
        //代理角色，不存在
        ProxyInvocationHandler pih = new ProxyInvocationHandler();


        pih.setTarget(userService);//设置要代理的对象
        //动态生成代理类
        UserService proxy = (UserService) pih.getProxy();
        proxy.update();
        /*
        proxy.add()
        ---->ProxyInvocationHandler中的invoke()下的
        Object result = method.invoke(target, args);
        ---->UserServiceImpl中的add方法
        ---->执行invoke方法的返回语句
        return result;
         */

    }
}
